<h4>Release 4.3.0-62</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-25 2230 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>X-boxed.ico - Use Michael Bax's boxed X icon.</li>

<li>win.h, winmultiwindowwindow.c, winmultiwindowwm.c,
winmultiwindowwndproc.c, winprefs.c - Remove fAlwaysOnTop and
PreserveWin32Stack() instead of reinstating
winReorderWindowsMultiWindow(), which now inhibits reentries to avoid
infinite restacking.  Call winReorderWindowsMultiWindow() in
appropriate places to keep consistent window Z order even if
always-on-top windows are mixed.  (Earle F. Philhower III and Takuma
Murakami)</li>

<li>winwindow.h, winmultiwindowwndproc.c, winmultiwindowwm.c,
winmultiwindowwindow.c - Always-on-top mods: fix popup menus over AOT
windows, AOTs not disappearing, normal windows appearing over AOTs.
(Earle F. Philhower III)</li>

<li>windialogs.c - Exit dialog gets top of Z order, otherwise can be
hidden by X apps.  (Earle F. Philhower III)</li>

<li>winmultiwindowwindow.c - Make winRestackWindowMultiWindow empty
(except calling the wrapped function).  (Takuma Murakami)</li>

<li>win.h, winblock.c, winglobals.c, winmultiwindowwindow.c,
winmultiwindowwndproc.c, winscrinit.c, winshadgdi.c, winwakeup.c -
Remove fRestacking and fWindowOrderChanged cache variables and
winReorderWindowsMultiWindow function from multiwindow mode.  This
function was called around 100 times per second.  Now the ordering
task is done in winTopLevelWindowProc/WM_ACTIVATE handler in event
driven manner.  Stop propagating WM_ACTIVATEAPP messages to the root
window.  Simplify winRedrawAllProcShadowGDI.  (Takuma Murakami)</li>

<li>XWin.rc, win.h, winblock.c, windialogs.c, winglobals.c,
winmultiwindowwindow.c, winresource.h, winshaddd.c, winshadddnl.c,
winshadgdi.c, winwakeup.c, winwndproc.c - Add an About dialog box to
the tray icon menu, complete with links to our local change log
(/usr/X11R6/share/doc/XFree86-xserv/changelog.html) and documentation
on our website.  (Harold L Hunt II - CodeWeavers)</li>

<li>winclipboardwndproc.c - Drop the clipboard failure timeout from 2
seconds to 1 second.  (Harold L Hunt II - CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-61</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-25 0055 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winclipboardwndproc.c, winclipboardxevents.c - Attempt to fix
clipboard deadlock that was causing hangs.  The nature of the fix was
to stop calling XPeekIfEvent since it will block until the specified
type of event is seen.  Instead, we call XSync to flush output events
and wait for them to be processed, then we do our own little loop with
a call to select() using a timeout of 3 seconds from when we started
(the timeout is adjusted after each call to select()).  This should
alleviate problems with XPeekIfEvent not returning.  Finally, since we
can detect whether the SelectionNotify event has arrived now, I added
code to paste NULL to the Win32 clipboard if the X11 application never
returns any useful clipboard data; this should prevent Win32
applications from freezing when there are problems pasting from X11 to
Win32.  (Harold L Hunt II - CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-60</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-23 1945 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowicons.c - Use PixmapBytePad to calculate the length
of a line in the icon that miGetImage will return.  Our own
calculation was not allocating enough memory per line and miGetImage
was walking off the end of that memory when Windows is running in 24
bit color and using multi-window mode.  (Fabrizio Gennari)</li>

<li>XWin.rc, winresource.h, wintrayicon.c, winwndproc.c - Change
Show/Hide Root Window menu items to a single item with a check box.
(Harold L Hunt II - CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-59</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-18 2345 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowclass.c,winmultiwindowclass.h,winmultiwindowwindow.c
- Fix window cascading to not affect popups or menus.  (Earle
F. Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-58</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-18 1315 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Reset variable 's' after each step.  Fixes bug where
the argument to -xkblayout applied also to -xkbvariant and
-xkboptions.  (Alexander Gottwald)</li>

<li>winshadgdi.c - Fix for the Show Root Window 100% CPU bug.  Use
lParam in winRedrawAllProcShadowGDI as indicator which window
initiated the call since EnumerateThreadWindows is called from
WM_PAINT handler too and invalidates the fresh painted window right
after painting it.  (Alexander Gottwald)</li>

<li>X.ico - Include Jehan Bing's icon_test9 version, which includes 24
bit as well as 32 bit icons.  It is hoped that the 24 bit icons will
be used by platforms that do not support the 8 bit alpha channel in
the 32 bit icon.  (Jehan Bing)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-57</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-17 0830 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c - Cascade Win32 windows when -geometry is
not specified, using CW_USEDEFAULT, instead of always creating at
X(0,0).  (Earle F. Philhower III)</li>

<li>General - Change build script to include this changelog in
/usr/X11R6/share/doc/XFree86-xserv/changelog.html.  (Harold L Hunt II
- CodeWeavers)</li>

<li>General - Change build script to sort file lists and trim lines
that just have a directory but no file; these lists are used for
generating the README files.  (Harold L Hunt II - CodeWeavers)</li>

<li>General - Add build-xserv command that pre-processes cygwin.cf and
sets the current release number for XWin.exe.  (Harold L Hunt II -
CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-56</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-15 2050 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>General - Change build system files to stop linking against cygipc
and instead use SHM support that is now built into cygwin1.dl.  Note
that you will now use 'cygserver' to setup cygserver as a Windows
Service instead of ipc-daemon2 to enable MIT-SHM support for Cygwin/X.
Please see the cygserver documentation (google for it if you have to)
for more information.  (Harold L Hunt II - CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-55</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-14 0230 EST</td></tr>

<tr><td>Download source: Now available as src package via setup.exe</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>General - All Cygwin/X packages are now built with a build script
that also packages the source code into about 8 source packages.  You
can now download the source for XFree86-xserv via Cygwin's setup.exe.
More instructions on how to compile this source will follow later.
(Harold L Hunt II)</li>

<li>Preferences (Earle F. Philhower III)

<ul>
<li>Added "TRAYICON" parsing to .xwinrc</li>

<li>Added "&lt;file&gt;.dll,nnn" icon extraction to take icons from compiled
DLL or EXEs</li>

<li>Added ",nnn" icon extraction to take icons compiled into XWin.exe</li>

<li>Fixed ICONDIRECTORY no longer appended to icon path if it is fully
qualified</li>

</ul>

</li>

<li>Icons - Jehan Bing's almost latest X icon (1st icon in XWin.exe)
with alpha channel support.  I just realized that I did not get
Jehan's x_test8.ico in this release, so I will have to make another
release soon.  (Jehan Bing)</li>

<li>Icons - Benjamin Riefenstahl's boxed X icon (2nd icon in
XWin.exe).  (Benjamin Riefenstahl)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-54</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-10 1500 EST</td></tr>

<tr><td>Download source: hw/xwin files not changed since 4.3.0-53</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>X.ico - Add formats with an alpha channel to smooth the edges of
the icon on systems that support alpha channels.  This drastically
improves the appearance of the icon.  (Jehan Bing)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 4.3.0-53</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-10 1135 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c - Fix auto-repeat when <i>-kb</i> is passed to
XWin.exe.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-52</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-09 1830 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winglobals.c, winprefs.c, winshadgdi.c - Replace all calls to
EnumWindows by EnumThreadWindows since we need to manipulate only
Cygwin/X windows, which are in the same thread.  (Takuma
Murakami)</li>

<li>winconfig.c, winconfig.h, winprocarg.c - Display warning message
if user uses -xf86config or -keyboard parameters when they are
unsupported.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-51</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-08 2005 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>win.h, winglobals.c, winmultiwindowwindow.c, winshadgdi.c -
Restrict multiwindow redrawing region to the intersection between the
smallest bounding rectangle of damaged areas and each Windows window.
Compare process IDs instead of class names to determine whether a
window is a Cygwin/X window or not.  (Takuma Murakami)</li>

<li>InitOutput.c - Print a log message that XF86Config is unsupported
with pointer to documentation (FAQ).  (Alexander Gottwald)</li>

<li>winconfig.c - Print the keyboardlayout name supplied from Windows
if it was not found.  This makes it easier to add those layouts.
(Alexander Gottwald)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-50</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-03 0815 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c - Fix window adjustment on multiple
monitors.  (Takuma Murakami)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 4.3.0-49</h4>
<table>
<tbody>

<tr><td>Released: 2004-03-02 2230 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winclipboardwndproc.c, winclipboardwrappers.c,
winclipboardxevents.c - Check if clipboard is already open before
calling OpenClipboard; if it is open and we own it, then call
CloseClipboard in hopes of fixing some reported deadlock situations.
(Harold L Hunt II - CodeWeavers)</li>

<li>InitOutput.c - Add check for multiple instances of XWin trying to
run on the same display number.  Check for uniqueness among all
terminal services sessions.  (Takuma Murakami, Harold L Hunt II)</li>

<li>winvalargs.c - Validate command-line argument combinations; fail
when invalid combinations are found, such as "XWin -query foo_host
-multiwindow".  (Harold L Hunt II - CodeWeavers)</li>

<li>winerror.c/winMessageBoxF - Add a function that works like printf
for Win32 message boxes.  (Harold L Hunt II - CodeWeavers)</li>

<li>winprocarg.c/winLogVersionInfo - Print version, vendor, and
mailing list email address in the log file.  (Harold L Hunt II -
CodeWeavers)</li>

<li>winprocarg.c/winLogCommandLine - Concatenate the command line into
a single string with line breaks at 60 characters.  Print the command
line in the log file and save it for winMessageBoxF to use during
FatalError and ddxUseMsg calls.  (Harold L Hunt II - CodeWeavers)</li>

<li>winerror.c - Make FatalError popup a message box telling the user
that a fatal error occurred, where the log file is, what version they
are running, what the command line used to start XWin was, etc.
(Harold L Hunt II - CodeWeavers)</li>

<li>InitOutput.c/ddxUseMsg - Popup a message box telling the user that
the help information was save to the log file, tell them where the log
file is, what the command line used to start XWin was (in case they
don't realize they typed -help or an invalid parameter name), etc.
(Harold L Hunt II - CodeWeavers)</li>

<li>Xserver/os/utils.c, xdmcp.c - Replace several calls to ErrorF and
exit(1) with calls to FatalError; this allows us to present the user
with a popup message box, whereas the exit(1) call prevented us from
doing this.  (Harold L Hunt II - CodeWeavers)</li>

<li>InitOutput.c/ddxUseMsg - Document Alexander's new -xkb*
parameters.  (Harold L Hunt II - CodeWeavers)</li>

<li>config/cf/cygwin.cf - Specify our own vendor string, version
number, and contact information.  (Harold L Hunt II - CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-48</h4>
<table>
<tbody>

<tr><td>Released: 2004-02-28 1445 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winprefs* - Rename the WINMULTIWINDOWPREFS structure to WINPREFS,
since it is used even when MultiWindow mode is disabled.  (Harold L
Hunt II - CodeWeavers)</li>

<li>winmultiwindowclass.c, winmultiwindowclass.h,
winmultiwindowicons.c - Identify these files for renaming since they
are not dependent upon MultiWindow mode being enabled.  Do not perform
the actual rename; instead, write this message in hopes that someone
else performs the rename in CVS in a manner that preserves
history.  (Harold L Hunt II - CodeWeavers)</li>

<li>win.h, winclipboard.h, winwindow.h - Remove WIN_*_SUPPORT flags.
(Harold L Hunt II - CodeWeavers)</li>

<li>xc/config/cf/cygwin.cf - Remove the inclusion of xfree86.cf;
including xfree86.cf forced us to have several lines of code that
prevented drivers from being compiled, and forced us to define values
for certain #defines so that they would not be overridden.  Removing
xfree86.cf and restructuring the file led to a decrease in size of
about 30%.  (Harold L Hunt II - CodeWeavers)</li>

<li>xc/config/cf/cygwin.cf - Add the build flags removed from win.h in
the form BuildXWinFoo.  Add defines for the various build options,
such as XWIN_FOO, which are added to the defines passed to the
compiler when building the server.  This allows us to remove the build
flags from the hw/xwin headers and it also allows us to refer to the
BuildXWin* flags in Xserver/Imakefile, which means that we should no
longer have to update that file by hand when enabling and disabling
certain features.  (Harold L Hunt II - CodeWeavers)</li>

<li>General - The above changes required extensive rewriting of
cygwin.cf, which means that I may have accidentally broken or disabled
something that was working previously.  Please verify that things work
as they should.  Note that removing xfree86.cf causes 'xdpyinfo' to
report our vendor string as "The X.Org Group" and our vendor release
number as "6600"; this is different from the previous vendor of
XFree86 with version 4.3.0.1 or some such.  (Harold L Hunt II -
CodeWeavers)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-47</h4>
<table>
<tbody>

<tr><td>Released: 2004-02-25 0715 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c, winmultiwindowwndproc.c - For the topmost
Windows window, explicitly raise its X counterpart to the top in Z
order to keep correct stacking when there is a minimized window which
formerly obscured it.  (Takuma Murakami)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 4.3.0-46</h4>
<table>
<tbody>

<tr><td>Released: 2004-02-22 1430 EST</td></tr>

<tr><td>Download source: hw/xwin files not changed since 4.3.0-45</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>'make clean &amp;&amp; make' in Xserver/hw/xwin.  The 4.3.0-45 build was
busted for some reason.  This rebuild fixes some segfaults caused by
certain apps, such as xeyes.</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-45</h4>
<table>
<tbody>

<tr><td>Released: 2004-02-21 1430 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>win.h, winmultiwindowwindow.c, winmultiwindowwndproc.c,
winscrinit.c, winwindow.h - Improve move, resize, minimize, maximize,
and restore operations on windows in multiwindow mode.  Reorganize
message/event flow, add new scheme to propagate window changes between
Windows and X layers, eliminate bunch of conditional branches and
cache variables.  A couple of bugs should be fixed.  (Takuma
Murakami)</li>

<li>winmouse.c - Properly clear the internal mouse button map when the
mouse device is closed.  (Takuma Murakami)</li>

<li>winmultiwindowwndproc.c, winprefs.c, winprefs.h, winwndproc.c -
Stop passing customized menus to DefWindowProc.  Although it does not
cause visible problems so far, it should be inhibited.  Apply a mask,
which is described in MSDN, for wParam in
winTopLevelWindowProc/WM_SYSCOMMAND handler.  (Takuma Murakami)</li>

<li>winconfig.c, winconfig.h, winprocarg.c - Add some xkb settings
(rules, model, layout, variant, options) to the commandline options
and parse them even with configfile support turned off.  (Alexander
Gottwald)</li>

<li>xc/lib/font/fontfile/dirfile.c, encparse.c, fontfile.c - Some more
font path checks.  (David Dawes)</li>

<li>winmultiwindowwm.c - Make MultiWindow Window Manager detectable
from other wm's as well as allowing it to detect other wm's.  (Takuma
Murakami)</li>

<li>xc/lib/font/fontfile/dirfile.c - Fix an exploitable buffer
overflow.  (Greg MacManus (iDEFENSE Labs))</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-44</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-28 2000 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>xc/programs/Xserver/os/access.c - Prevent 0.0.0.0 addresses from
being sent to the other end of the wire when using Xdmcp.  Suggested
in the \devel at xfree86 dot org\ mailing list and discussed by many
people in that and other forums.  Should fix problems when using
unconfigured network interfaces and attempting to use '-query' to
Xdmcp into a remote machine; this was happening to a lot of users with
wireless and wired network cards in laptop computers of which one or
the other was usually configured but not both.</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-43</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-27 0045 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c, winmultiwindowwndproc.c, winwindow.h - Fix
for Always On Top handling.  (Earle F Philhower III)</li>

<li>windialogs.c - Center dialog boxes in the desktop window.  (Earle
F Philhower III)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-42</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-16 1500 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>InitOutput.c - Only wait for the clipboard thread to exit if the
clipboard client has been started.  (Harold L Hunt II)</li>

<li>winclipboardwrappers.c/winProcQueryTree,
winProcEstablishConnection - Unwrap base function and return if
clipboard is not enabled.  (Harold L Hunt II)</li>

<li>winclipboardxevents.c/winClipboardFlushXEvents - Call
SetClipboardData when aborting; those should allow Win32 apps that are
holding the clipboard open to fail gracefully and close the
clipboard.  (Harold L Hunt II)</li>

<li>winglobals.c - Remove duplicate declaration of
g_fClipboardStarted.  (Takuma Murakami)</li>

<li>winglobals.c - winInitializeGlobals - Reinitialize all clipboard
globals.  (Harold L Hunt II)</li>

<li>winmultiwindowwm.c - Change all error messages that occur before a
call to pthread_exit to make it clear that the window manager is
exiting.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-41</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-15 0100 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>Clipboard - Try to check all allocated pointers for NULL before
dereferencing and try to provide clean failures with error messages.
(Harold L Hunt II)</li>

<li>General - Allow XF86Config support to be turned on or off via the
WIN_XF86CONFIG_SUPPORT #define in win.h.  This is needed for the
xserver tree on freedesktop.org (fd.o) since it does not have the
necessary files from the XFree86 DDX (hw/xfree86).  (Harold L Hunt
II)</li>

<li>resource.h - Rename resource.h to winresource.h to fix a problem
with a header of the same name in the xserver tree on fd.o.  (Harold L
Hunt II)</li>

<li>win.h - Wrap #include "layer.h" with #if WIN_LAYER_SUPPORT so that
the header will not be included when layer is not being built.
(Harold L Hunt II)</li>

<li>win.h - Remove XWDFile.h, pXWDCmap, and pXWDHeader; these have not
been used in ages, if ever.  (Harold L Hunt II)</li>

<li>General - Change all includes for Xlib headers from #include
"foo.h" or #include &lt;foo.h&gt; to #include "X11/foo.h" for consistency
and to make the build work in the xserver tree on fd.o.  (Harold L
Hunt II)</li>

<li>General - Grab the rest of Alexander Gottwald's fixes for build
warnings due to malformed prototypes.  Add a few more fixes to silence
additional warnings along the same lines.</li>

<li>General - Protect some more XKB stuff with #ifdef XKB.  Needed for
the build in the xserver tree on fd.o.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>




<h4>Release 4.3.0-40</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-12 1945 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winmultiwindowwindow.c/winReorderWindowsMultiWindow - Fix the
problem that XWin crashes when multiple XWin processes exist.
(Kensuke Matsuzaki)</li>

<li>InitOutput.c, winclipboardthread.c, winglobals.c,
winmultiwindowwm.c - Move calls to setlocale () from
winclipboardthread.c and winmultiwindowwm.c to InitOutput.c and only
call it on the first server generation.  Remove the g_fCalledSetLocale
global variable.  Make sure to call XInitThreads () before calling
XSupportsLocale ().  This may help fix the crash on startup reported
by Lester Ingber.  (Harold L Hunt II)</li>

<li>winclipboardwrappers.c/winProcSetSelectionOwner - Reinitialize the
local list of selection owners when the server generation changes.
This fixes the crash where copying text in X11 followed by copying an
image in Win32 followed by an X Server reset causes XWin.exe to
segfault; this was reported by Alexander Gottwald.  (Harold L Hunt
II)</li>

<li>winmultiwindowwm.c - Move the global variable g_nQueueSize into
the WMMsgQueueRec structure so that it is stored per instance of the
multi-window window manager thread.  (Harold L Hunt II)</li>

<li>winmultiwindowwm.c/winInitWM - Zero memory allocated for
WMProcArgRec, WMInfoRec, and XMsgProcArgRec structures.  This should
help prevent problems with uninitialized variables in these
structures.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-39</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-12 1445 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>win.h - Silence some build warnings.  (Alexander Gottwald)</li>

<li>winclipboardwndproc.c, winclipboardwrappers.c,
winclipboardxevents.c - Silence non-failure run-time messages using
for debugging during development.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>



<h4>Release 4.3.0-38</h4>
<table>
<tbody>

<tr><td>Released: 2004-01-11 1730 EST</td></tr>

<tr><td>Download source: no longer distributed</td></tr>

<tr><td>Changes:</td></tr>

<tr>
<td>
<ul>

<li>winconfig.c/winConfigKeyboard - Fix problem with Japanese keyboard
layout being ignored after server reset in XDMCP sessions.  (Takuma
Murakami)</li>

<li>winclipboardwndproc.c/winClipboardWindowProc/WM_DRAWCLIPBOARD -
Release ownership of the X11 PRIMARY and/or CLIPBOARD selections if an
unsupported format is copied to the Win32 clipboard and we currently
own the PRIMARY and/or CLIPBOARD selections.  This will prevent a
silent failure in X11 when pasting after an unsupported item has been
copied to the Win32 clipboard; instead, X11 apps should either paste
from an another owned selection (xterm does this) or they might report
that the clipboard is empty.  (Harold L Hunt II)</li>

<li>winclipboardwrappers.c - Initialize g_iOwners to None.  (Harold L
Hunt II)</li>

<li>winclipboardwrappers.c/winProcSetSelectionOwner - Fix a bug in the
call to MakeAtom for the CLIPBOARD atom that was causing MakeAtom to
return a failure code instead of the CLIPBOARD atom; this caused the
owner window for the CLIPBOARD atom to never be saved by
winProcSetSelectionOwner.  (Harold L Hunt II)</li>

</ul>
</td>
</tr>
</tbody>
</table>
